<?php

/**
 * @see General_Models_home_entidad_GN_usuarios.php
 */
include_once  "application/models/general/home/entidad/gn_usuarios.php";

/**
 * Clase Modelo De GN_Usuarios
 * 
 * @category   Model
 * @package    modules_general_models
 * @author     Jose Miguel De Jesus <josejm07@hotmail.com>
 * @copyright  Todos los derechos reservados. curriculumvitae.net. 2013.
 * 
 * @see        Administrador
 * @since      Version 1.0, revision 1.
 */
class gn_usuarios_model extends CI_Model {
    
    /**
     * Nombre de la tabla en la base de datos
     * @var type  string
     */
    protected $_nameTable = "gn_usuarios";
    
    function __construct()
    {
        parent::__construct();
    }
    
       /**
	 * 
	 * Esta funcion te permite agregar un registro a una base de datos
	 * @param array $data
	 */
	public function addRegistro($data)
	{
		if($this->db->insert($this->_nameTable, $data)){
			return TRUE;
		}
			return FALSE;
	}
    
        
        /**
	 * 
	 * Esta es la funcion que te permite buscar un registro en especifico
	 * @param string $usuario
	 */
    public function loadRegistro($usuario)
    {
          $query = $this->db->get_where($this->_nameTable, array('usuario'  => $usuario));
          
          if ($query->num_rows() == 0)
           return false;
           
          return new gn_usuarios($query->row()); 
    }
        
       /**
	 * 
	 * Esta es la funcion que permite validar el correo
	 * @param string $correo
	 */
    public function loadCorreo($Correo)
    {
          $query = $this->db->get_where($this->_nameTable, array('correo'  => $Correo));
          
          if ($query->num_rows() == 0){
           return false;}  else {
              
          return TRUE;} 
    }    
        
        /**
	 * 
	 * Funcion que permite validar la cuenta 
	 * @param int $id
         * @param boolean $data array
	 */
    public function UdateID($id,$data)
    {
        
            $this->db->where('id_usuario', $id);
            if($this->db->update($this->_nameTable, $data)){
              
                return TRUE;
                
            }  else {
                
              return FALSE;
                
              
                }
     }
    
     /**
      * Valida las Cuentas Validadas osea con estado 1
      * @param int $id
      */
     public function validarTRueFalse($id)
     {   
     }
     
       /**
	 * Esta funcion Combierte los datos de array en objetos de
	 * la calse entidad
	 * @param objeto $resurt
	 */
	private function QueryResult($resurt)
	{
		
		   if($resurt->num_rows() == 0){
		       return FALSE;
		    }
			
			$registro_array = array();
			
			foreach ($resurt->result() as $record){
				$registro_array[] = new gn_usuarios($record);
			}
			return $registro_array;
		
	}
     
        /**
	 * Metodo que valida la session del usuario
	 * @param $user $password
	 */
        public function validarUsuario($user, $password)
        {
            $this->db->where('usuario',$user);
            $this->db->where('password',$password);
            $this->db->where('estado',1);
           $result = $this->db->get($this->_nameTable);
       
       if ($result->num_rows() == 0)
       {return false;}  else {
    
           return TRUE;
                    }
            
                 
        }
     
}

?>
